Skip to content

Add source to metadata#572

Merged
drbh merged 5 commits into
mainfrom
add-source-to-metadata
Jun 9, 2026
Merged

Add source to metadata#572
drbh merged 5 commits into
mainfrom
add-source-to-metadata

Conversation

@drbh

@drbh drbh commented May 20, 2026

Copy link
Copy Markdown
Collaborator

This PR adds a new optional source attribute to the metadata struct, this source is different than upstream since it is intended to point to the kernel builder compliant source related to the kernel. This distinction is important since the upstream may not originally be formatted in a way that the kernel-builder can compile - yet we want to be able to indicate the original code, and the code used to compile the kernel.

Note this PR also adds a step to validate the upstream and the source fields to be git urls

@HuggingFaceDocBuilderDev

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@danieldk danieldk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!!! Added some comments on the docs.

Comment thread docs/source/builder/writing-kernels.md Outdated
Comment on lines +193 to +197
- `upstream`: URL of the original upstream repository where the kernel
source code comes from.
- `source`: URL of the kernel-builder formatted source repository. This
repository must contain a `build.toml` and `flake.nix` so that it can be
pulled and built with the kernel builder.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In both cases, I think we should say something about the format. Should this be a URL that can be passed directly to git? What about Git over SSH?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now saw GitUrl below, so I think good to mention here that these should be Git-compatible (passable to git clone).

Comment thread docs/source/kernel-requirements.md Outdated
Comment on lines +74 to +77
- `upstream` (`str`, optional): URL of the original upstream repository
where the kernel source code comes from.
- `source` (`str`, optional): URL of the kernel-builder formatted source
repository (must contain `build.toml` and `flake.nix`).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above.

@sayakpaul

Copy link
Copy Markdown
Member

I like the idea. It would be cool to ship!

@drbh drbh force-pushed the add-source-to-metadata branch from 28ebdc6 to 9bce12e Compare June 8, 2026 19:18
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown

Coverage report — kernels/

Measured on: Python 3.10 / Torch 2.12.0.
Other CI configurations are not included in this number.
Hardware-gated code paths (ROCm/XPU/NPU/Darwin/Windows) are excluded or unreachable on the Linux+CUDA runner.

Total coverage: 83.4% — threshold: 80% — ✅

Per-file breakdown
Name Stmts Miss Cover Missing
src/kernels/__init__.py 10 0 100%
src/kernels/_system.py 6 1 83% 10
src/kernels/_versions.py 63 7 89% 46, 49, 52-53, 56-57, 100
src/kernels/backends.py 194 55 72% 40, 44, 48-51, 68, 90, 108, 117, 121, 125-127, 148, 170, 181, 188-191, 201, 205-225, 233, 256-276
src/kernels/compat.py 8 1 88% 5
src/kernels/deps.py 54 4 93% 58-59, 95, 98
src/kernels/layer/__init__.py 6 0 100%
src/kernels/layer/_interval_tree.py 103 4 96% 23, 52, 147, 150
src/kernels/layer/device.py 48 14 71% 42, 47-49, 91, 96-98, 101, 149, 152, 155-157
src/kernels/layer/func.py 93 7 92% 72, 100, 154, 257, 263, 272, 290
src/kernels/layer/globals.py 5 0 100%
src/kernels/layer/kernelize.py 73 8 89% 255, 273, 281-282, 288, 292, 308-310
src/kernels/layer/layer.py 174 15 91% 166, 209, 215, 228, 320-321, 333, 342, 350, 361, 390, 394, 407, 460, 490
src/kernels/layer/mode.py 14 0 100%
src/kernels/layer/repos.py 130 34 74% 27, 33, 36-41, 61-62, 68, 71-74, 88, 92, 101-102, 108, 111-114, 121-122, 128, 131-134, 141-142, 148, 151-154, 235
src/kernels/lockfile.py 71 46 35% 37-104, 108-131
src/kernels/status.py 49 2 96% 23, 81
src/kernels/utils.py 301 60 80% 65, 77-81, 87-88, 218, 222, 225, 287, 295, 334-335, 373, 404, 409, 444, 625-630, 660, 663, 665, 671, 684-685, 706-718, 722-729, 737, 741-751, 755-762, 800, 804, 823, 825
src/kernels/variants.py 262 19 93% 56, 87, 108, 138, 247-248, 289, 291, 371-378, 384-390, 421-427, 439-445, 534-536
TOTAL 1664 277 83%

Updated by the Test kernels workflow on commit 9bce12eabb4bb0580964eaa4823412506a008965.

@drbh drbh merged commit f093250 into main Jun 9, 2026
54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants